package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 充值记录对象 water_meterrechargerecord
 *
 * @author ruoyi
 * @date 2025-09-17
 */
public class WaterMeterrechargerecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 公司编号 */
    @Excel(name = "公司编号")
    private String companyId;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String companyName;

    /** 充值订单号 */
    @Excel(name = "充值订单号")
    private String ordersn;

    /** 户号 */
    @Excel(name = "户号")
    private String userId;

    /** 表索引号 */
    @Excel(name = "表索引号")
    private Long meterId;

    /** 表号 */
    @Excel(name = "表号")
    private String meterNo;

    /** 充值序号 */
    @Excel(name = "充值序号")
    private String ser;

    /** 充值金额 */
    @Excel(name = "充值金额")
    private BigDecimal money;

    /** 充值操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "充值操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date chargeDate;

    /** 充值结果 */
    @Excel(name = "充值结果")
    private Integer chargeResult;

    /** 充值到表成功时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "充值到表成功时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date topUpDate;

    /** 充值方式 */
    @Excel(name = "充值方式")
    private String topUpType;

    /** 充值机构代码（通过接口操作） */
    @Excel(name = "充值机构代码", readConverterExp = "通=过接口操作")
    private String orgCode;

    /** 状态 */
    @Excel(name = "状态")
    private String state;

    /** 是否打印 */
    @Excel(name = "是否打印")
    private Integer isPrint;

    /** 充值类型 */
    @Excel(name = "充值类型")
    private Integer payType;

    /** 操作员 */
    @Excel(name = "操作员")
    private String oper;

    /** 返回请求ID */
    @Excel(name = "返回请求ID")
    private String orderId;

    /** 结果描述 */
    @Excel(name = "结果描述")
    private String resultContent;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setCompanyId(String companyId)
    {
        this.companyId = companyId;
    }

    public String getCompanyId()
    {
        return companyId;
    }
    public void setCompanyName(String companyName)
    {
        this.companyName = companyName;
    }

    public String getCompanyName()
    {
        return companyName;
    }
    public void setOrdersn(String ordersn)
    {
        this.ordersn = ordersn;
    }

    public String getOrdersn()
    {
        return ordersn;
    }
    public void setUserId(String userId)
    {
        this.userId = userId;
    }

    public String getUserId()
    {
        return userId;
    }
    public void setMeterId(Long meterId)
    {
        this.meterId = meterId;
    }

    public Long getMeterId()
    {
        return meterId;
    }
    public void setMeterNo(String meterNo)
    {
        this.meterNo = meterNo;
    }

    public String getMeterNo()
    {
        return meterNo;
    }
    public void setSer(String ser)
    {
        this.ser = ser;
    }

    public String getSer()
    {
        return ser;
    }
    public void setMoney(BigDecimal money)
    {
        this.money = money;
    }

    public BigDecimal getMoney()
    {
        return money;
    }
    public void setChargeDate(Date chargeDate)
    {
        this.chargeDate = chargeDate;
    }

    public Date getChargeDate()
    {
        return chargeDate;
    }
    public void setChargeResult(Integer chargeResult)
    {
        this.chargeResult = chargeResult;
    }

    public Integer getChargeResult()
    {
        return chargeResult;
    }
    public void setTopUpDate(Date topUpDate)
    {
        this.topUpDate = topUpDate;
    }

    public Date getTopUpDate()
    {
        return topUpDate;
    }
    public void setTopUpType(String topUpType)
    {
        this.topUpType = topUpType;
    }

    public String getTopUpType()
    {
        return topUpType;
    }
    public void setOrgCode(String orgCode)
    {
        this.orgCode = orgCode;
    }

    public String getOrgCode()
    {
        return orgCode;
    }
    public void setState(String state)
    {
        this.state = state;
    }

    public String getState()
    {
        return state;
    }
    public void setIsPrint(Integer isPrint)
    {
        this.isPrint = isPrint;
    }

    public Integer getIsPrint()
    {
        return isPrint;
    }
    public void setPayType(Integer payType)
    {
        this.payType = payType;
    }

    public Integer getPayType()
    {
        return payType;
    }
    public void setOper(String oper)
    {
        this.oper = oper;
    }

    public String getOper()
    {
        return oper;
    }
    public void setOrderId(String orderId)
    {
        this.orderId = orderId;
    }

    public String getOrderId()
    {
        return orderId;
    }
    public void setResultContent(String resultContent)
    {
        this.resultContent = resultContent;
    }

    public String getResultContent()
    {
        return resultContent;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("companyId", getCompanyId())
            .append("companyName", getCompanyName())
            .append("ordersn", getOrdersn())
            .append("userId", getUserId())
            .append("meterId", getMeterId())
            .append("meterNo", getMeterNo())
            .append("ser", getSer())
            .append("money", getMoney())
            .append("chargeDate", getChargeDate())
            .append("chargeResult", getChargeResult())
            .append("topUpDate", getTopUpDate())
            .append("topUpType", getTopUpType())
            .append("orgCode", getOrgCode())
            .append("state", getState())
            .append("isPrint", getIsPrint())
            .append("payType", getPayType())
            .append("oper", getOper())
            .append("orderId", getOrderId())
            .append("resultContent", getResultContent())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
